/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.ufpb.halloc.comunicacao;

import br.com.ufpb.halloc.dados.CursoDAOPostgresSQL;
import br.com.ufpb.halloc.exceptions.CursoInexistenteException;
import br.com.ufpb.halloc.negocio.Curso;
import java.util.List;

/**
 *
 * @author Kawe Ramon
 */
public class ControleCurso {
    
    private CursoDAOPostgresSQL cursoDaoBD;
    private static ControleCurso controleCurso;
    
    
    public ControleCurso(){
        cursoDaoBD = new CursoDAOPostgresSQL();
    }
    
    public static ControleCurso getInstance(){
        
        if(controleCurso==null){
            return new ControleCurso();
        }
        return controleCurso;
    }
    
    public void inserirCursoBD(Curso curso) throws CursoInexistenteException{
        this.cursoDaoBD.inserir(curso);
    }
    
    public void removerCursoBD(Curso curso){
        this.cursoDaoBD.remover(curso);
    }
    
    public void atualizarCursoBD(Curso curso){
        this.cursoDaoBD.atualizar(curso);
    }
    
    public Curso pesquisarPorIdBD(String id) throws CursoInexistenteException{
        return this.cursoDaoBD.pesquisarId(id);
    }
    
    public List<Curso> pesquisarPorNomeBD(String nome){
        return this.cursoDaoBD.pesquisarNome(nome);
    }
    
    public List<Curso> getCursos(){
        return this.cursoDaoBD.getCursos();
    }
}
